package trastienda.rest;

import javax.ws.rs.Consumes;
import javax.ws.rs.FormParam;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

import net.sf.json.JSONObject;
import trastienda.dao.DispositivoDAO;
import trastienda.excepcion.DAOExcepcion;
import trastienda.modelo.Dispositivo;

@Path("/dispositivos")
public class DispositivoRest {
	
	
	@POST	
	@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
	@Produces(MediaType.APPLICATION_JSON)		
	public String insertar(@FormParam("usuario") String usuario, 
						   @FormParam("codigoGCM") String codigoGCM) {

		System.out.println("Dentro de insertar(): " + usuario + ", " + codigoGCM);

		JSONObject jsonObj = new JSONObject();
		
		try {		
			Dispositivo modelo = new Dispositivo();
			modelo.setUsuario(usuario);
			modelo.setCodigoGCM(codigoGCM);
			
			DispositivoDAO dao = new DispositivoDAO();
			
			Dispositivo vo = dao.obtenerCodigoGCMPorUsuario(usuario);
			
			if(null == vo.getCodigoGCM()){
				dao.insertar(modelo);
			} else {
				dao.actualizar(modelo);
			}
			
			jsonObj.put("estado", "CORRECTO");
						
		} catch (DAOExcepcion e) {
			jsonObj.put("estado", "FALLIDO");
			System.out.println(e.getMessage());
		}
		return jsonObj.toString();
	}
	
}